package mn.idax.exchange.otc.domain;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import mn.idax.exchange.common.UTCTimeUtil;
import mn.idax.exchange.common.bean.IdaxBase;
import mn.idax.exchange.otc.enums.MessageNotifyEnum;
import mn.idax.exchange.otc.util.UUidUtils;
import org.springframework.data.mongodb.core.mapping.Document;

/**
 * @Auther: dison
 * @Date: 2018/9/10 18:01
 * @Description:
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "消息报文",description = "消息报文")
@Document(collection = "otc_notify_log")
public class MongoMessageNotifyDTO extends IdaxBase {

    private static final long serialVersionUID = 4961367612589207119L;
    @ApiModelProperty(value = "消息唯一标识")
    private String messageId = UUidUtils.getUUID();
    @ApiModelProperty(value = "通知类型【system-系统消息 order-订单消息】")
    private MessageNotifyEnum messageType;
    @ApiModelProperty(value = "跳转类型")
    private MessageNotifyEnum.SkipType skipType;
    @ApiModelProperty(value = "跳转Key【订单-订单唯一标识...】")
    private String skipKey;
    @ApiModelProperty(value = "消息内容")
    private String body;
    @ApiModelProperty(value = "消息接收者")
    private Integer receiver;
    @ApiModelProperty(value = "发送时间")
    private long sendTime = UTCTimeUtil.getUTCTimeLong();
    @ApiModelProperty(value = "动态参数")
    private Object[] dynamicParam;
    @ApiModelProperty(value = "已读标识")
    private Integer readFlag;
}
